通过浏览器打开本地exe应用(支持任意浏览器)

IE浏览器下打开指定路径的EXE文件:

function Run(strPath) {
	//alert(strPath);
	try {
		var objShell = new ActiveXObject("wscript.shell");
		objShell.Run(strPath);
		objShell = null;
	} catch (e) {
		alert('找不到文件"' + strPath + '"(或它的组件之一)。请确定路径和文件名是否正确,而且所需的库文件均可用。')
	}
	//new ActiveXObject("wscript.shell").run(strPath); 
}

function openCHSUtils(utilName){
	var username = getQueryString('username');
	var text = utilName+'.exe -devextensions -command -username='+username+' -password=a83d78f9ef0b81d845509797a63f7644da192abd308b3db77b8f517e4f2d706de3f1b5df77bdadc9 -Xms512m -Xmn512m -Xmx1024m';
			
				Run(text);
				
			
	
}

ActiveXObject为IE浏览器的特有对象,因此该方式仅允许在IE浏览器下使用,且使用前必须配置IE浏览器的安全策略。

如需向exe程序传递参数,拼接cmd命令时将参数加入即可。

chrome、firefox等浏览器打开本地exe文件

因浏览器的安全策略问题,除ie外的其他浏览器均无法直接打开本地exe文件,因此采用将exe路径写入注册表的方式打开。

若需向exe传递参数,则需要用中间文件将注册表传入的参数进行转换

注册表内容如下:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CapitalLogic]
"URL Protocol"="D:\\MentorGraphics\\Capital2016.1\\bin\\CapitalLogic.exe"

[HKEY_CLASSES_ROOT\CapitalLogic\DefaultIcon]
@="D:\\MentorGraphics\\Capital2016.1\\bin\\CapitalLogic.exe"

[HKEY_CLASSES_ROOT\CapitalLogic\shell]

[HKEY_CLASSES_ROOT\CapitalLogic\shell\open]

[HKEY_CLASSES_ROOT\CapitalLogic\shell\open\command]
@="\"C:\\Users\\houman\\Desktop\\CapitalLogic.bat\" \"%1\" "

bat内容如下:

call CapitalHarnessXC.exe -devextensions -command -username=%1 -password=mangaer -Xms512m -Xmn512m -Xmx1024m
pause

若不需要向exe文件传递参数,则直接通过注册表调用exe即可

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值